package com.csun.cmny.provider.service.impl;

import com.csun.cmny.core.support.BaseService;
import com.csun.cmny.provider.dao.OmcReviseItemMapper;
import com.csun.cmny.provider.model.domain.OmcReviseItem;
import com.csun.cmny.provider.model.dto.revise.ReviseItemQueryDto;
import com.csun.cmny.provider.model.vo.revise.ReviseItemVo;
import com.csun.cmny.provider.service.OmcReviseItemService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import javax.annotation.Resource;
import java.util.List;

/**
 * @Auther: chisj chisj@foxmal.com
 * @Date: 2019-09-09 16:50
 * @Description: the class omc revise item service impl
 */
@Service
@Transactional
public class OmcReviseItemServiceImpl extends BaseService<OmcReviseItem>
        implements OmcReviseItemService {

    @Resource
    private OmcReviseItemMapper omcReviseItemMapper;

    /**
     * batch save revise item
     *
     * @param omcReviseItemList omc revise item list
     * @param reviseId          revise id
     * @return the int.
     */
    @Override
    public Integer batchSaveReviseItem(List<OmcReviseItem> omcReviseItemList, Long reviseId) {

        for (OmcReviseItem ori : omcReviseItemList) {
            ori.setReviseId(reviseId);
        }

        return batchSave(omcReviseItemList);
    }

    /**
     * query revise item vo list by revise id
     *
     * @param reviseId the revise id
     *
     * @return the revise item vo list.
     */
    @Override
    public List<ReviseItemVo> queryListByReviseId(Long reviseId) {

        return omcReviseItemMapper.queryListByReviseId(reviseId);
    }

    /**
     * query revise item vo list with page
     *
     * @param reviseItemQueryDto the revise item query dto
     *
     * @return the revise item vo list.
     */
    @Override
    public List<ReviseItemVo> queryListWithPage(ReviseItemQueryDto reviseItemQueryDto) {

        return omcReviseItemMapper.queryListWithPage(reviseItemQueryDto);
    }
}
